package HomeWork.collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Random;

public class DoubleBolls {
//        1.投注是从红色球号码中选择6个号码(不能重复)，从蓝色球号码中选择1个号码，组合为一注投注号码的投注
//        2.红色球号码为[1-33],蓝色球号码为[1-16]
//        3.开奖号码和购彩者号码均随机生成,红球按照从小到大的顺序进行排列,最后额外加入蓝色球
//        1 2 3 4 5 6 + 1
//        注意:蓝色球不参与整体的顺序
    private static final Random random = new Random();
    public static void main(String[] args) {
        int[] bolls = getBolls();
        System.out.println("开奖号码:" + Arrays.toString(bolls));
        while (true) {
            int[] setBolls = getBolls();
            System.out.println("购彩者号码:" + Arrays.toString(setBolls));
            int blueBoll = 0;
            int redBoll = 0;
            int lastIndex = bolls.length - 1;
            if (bolls[lastIndex] == setBolls[lastIndex]) {
                blueBoll = 1;
            }
            for (int i = 0; i < lastIndex; i++) {
                for (int j = 0; j < lastIndex; j++) {
                    if (bolls[i] == setBolls[j]) {
                        redBoll++;
                    }
                }
            }
//        4.中奖规则如下:
//        一等奖: 红球6 + 蓝球1
//        二等奖: 红球6
//        三等奖: 红球5 + 蓝球1
//        四等奖: 红球5 或 (红球4 + 蓝球1)
//        五等奖: 红球4 或 (红球3 + 蓝球1)
//        六等奖: (红球2 + 蓝球1) 或 (红球1 + 蓝球1) 或 蓝球1
            System.out.println("中奖红球:" + redBoll + ",中奖蓝球:" + blueBoll);
            if (redBoll == 6 && blueBoll == 1){
                System.out.println("恭喜您中了一等奖,获得了一辆🚗");
                break;
            } else if (redBoll == 6){
                System.out.println("恭喜您中了二等奖,获得了一本🚲");
            } else if (redBoll == 5 && blueBoll == 1){
                System.out.println("恭喜您中了三等奖,获得了一本🐓");
            } else if (redBoll == 5 || (blueBoll == 1 && redBoll == 4)){
                System.out.println("恭喜您中了四等奖,获得了📕");
            } else if (redBoll == 4 || (blueBoll == 1 && redBoll == 3)){
                System.out.println("恭喜您中了五等奖,获得了一只🖌");
            } else if (blueBoll == 1){
                System.out.println("恭喜您中了六等奖,获得了一只🦂");
                break;
            } else {
                System.out.println("对不起,您没有中奖,谢谢参与");
            }
            System.out.println();
        }
    }
    private static int[] getBolls() {
        int blueBoll = random.nextInt(16) + 1;
        ArrayList<Integer> integers = new ArrayList<>();
        while(integers.size() != 6){
            int num = random.nextInt(33) + 1;
            if (!integers.contains(num)){
                integers.add(random.nextInt(33) + 1);
            }
        }
        Collections.sort(integers);
        integers.add(blueBoll);
        return integers.stream().mapToInt(Integer::intValue).toArray();
    }
}
